"""
演示Python正则表达式使用元字符进行匹配
"""

import re

s = "itheima1 @@python2 !1666 #itccast3"

result1 = re.findall(r'\d', s)       # 字符串前面带上r的标记，表示字符串中转义字符无效，就是普通字符的意思
result2 = re.findall(r'\W', s)       # 字符串前面带上r的标记，表示字符串中转义字符无效，就是普通字符的意思
result3 = re.findall(r'[a-zA-Z]', s)       # 字符串前面带上r的标记，表示字符串中转义字符无效，就是普通字符的意思
result4 = re.findall(r'[a-z]', s)       # 字符串前面带上r的标记，表示字符串中转义字符无效，就是普通字符的意思
result5 = re.findall(r'[a-zA-Z0-9]', s)       # 字符串前面带上r的标记，表示字符串中转义字符无效，就是普通字符的意思
result6 = re.findall(r'[5-7]', s)       # 字符串前面带上r的标记，表示字符串中转义字符无效，就是普通字符的意思
print(result6)

# 匹配账号，只能由字母和数字组成，长度限制6到10位
r1 = '^[0-9a-zA-Z]{6,10}$'
s = "1234567Ab"
print(re.findall(r1, s))

# 匹配QQ号，要求纯数字，长度5-11，第一位不为0
r2 = '[1-9][0-9]{4,10}'
r3 = '^[1-9][0-9]{4,10}$'
s = '012345678'
print(re.findall(r3, s))

# 匹配邮箱地址，只能允许qq、163、gamil这三种邮箱地址
# {内容}.{内容}.{内容}@{内容}.{内容}
r = '^([\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+)$'
s = "a.b.c.e.f.g@163.com.a.z.c.d.e"
print(re.match(r, s))






